package com.star.core.base;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.Collections;
import java.util.List;

/**
 * 分页
 *
 * @author yangzj
 */
public class Pages<T> extends Page<T> {

    /**
     * 总数
     *
     * @ignore
     */
    protected long total = 0;

    /**
     * 自动优化 COUNT SQL
     *
     * @ignore
     */
    protected boolean optimizeCountSql = true;
    /**
     * 是否进行 count 查询
     *
     * @ignore
     */
    protected boolean searchCount = true;

    /**
     * 优化加入of统计sql
     *
     * @ignore
     */
    protected boolean optimizeJoinOfCountSql = true;

    /**
     * 记录
     *
     * @ignore
     */
    protected List<T> records = Collections.emptyList();

    /**
     * 最大限制
     *
     * @ignore
     */
    protected Long maxLimit = 300L;

    /**
     * 统计id
     *
     * @ignore
     */
    protected String countId;

    /**
     * 空
     *
     * @return {@link Pages}
     */
    public static <T> Pages<T> empty(){
        return new Pages<>();
    }
}
